/**
 * Copyright (C), 2020, 中电福富信息科技有限公司
 * FileName: UserBasicUtil
 * Author:   xujiajun
 * Date:     2020/11/12 14:29
 */
package com.example.demo.web.rest.util;

import org.apache.commons.lang.StringUtils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * Description:
 * @Author xujiajun
 * @Date 2020/11/12  14:29
 */
public class UserBasicUtil {


    /**
     * 验证手机号码
     * @param phone
     * @return
     */
    public static Boolean isPhone(String phone) {
        boolean flag = false;
        if (StringUtils.isBlank(phone)) {
            return false;
        }
        try{
            Pattern p = Pattern.compile("^(1)\\d{10}$");
            Matcher m = p.matcher(phone);
            flag = m.matches();
        }catch(Exception e){
            flag = false;
        }
        return flag;
    }

    /**
     * 用户名验证 用户名只能包含数字、字母、下划线(可配置)
     * @param loginName
     * @return
     */
    public static Boolean isLoginNameLegal(String loginName, String type) {
        if (StringUtils.isBlank(loginName)) {
            return false;
        }

        return loginName.matches(type);

    }

    public static Boolean isPid(String pid) {

        //18位
        String id_18="^[1-9][0-9]{5}(18|19|20)[0-9]{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)[0-9]{3}([0-9]|(X|x))";

        //15位
        String id_15="^[1-9][0-9]{5}[0-9]{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)[0-9]{2}[0-9]";

        String id_valid="("+id_18+")"+"|"+"("+id_15+")";

        Pattern pattern =Pattern.compile(id_valid);

        Matcher matcher =pattern.matcher(pid);

        return matcher.matches();

    }

}
